import java.util.Stack;

public class code3 {
//    力扣 150 最后一个单词的长度

    public int lengthOfLastWord1(String s) {
        // 第一种思路，直接使用字符串分割进行操作
        String[] ss = s.split(" ");
        // 直接将 ss 数组中的最后一个位置上的一段字符串长度获取下来即可
        String re = ss[ss.length - 1];

        return re.length();
    }

    public int lengthOfLastWord2(String s) {
        // 第二种思路，这道题目可以使用栈的方式，将元素压入后进行判断
        Stack<Character> stack = new Stack<>();

        for (int i = 0; i < s.length(); i++) {
            stack.push(s.charAt(i));
        }

        // 定义一个标记位，记录元素个数
        int flag = 0;

        while (stack.peek() == ' ') {
            // 如果最后一个位置上是 ‘ ’ 直接循环将所有的 ' ' 子串全部弹出
            stack.pop();
        }

        // 之后进行弹出栈操作，只要第一次出现 “ ” 直接停止弹栈操作返回元素的个数
        while (!stack.isEmpty()) {
            if (stack.pop() == ' ') {
                break;
            } else {
                flag++;
            }
        }
        return flag;
    }
}
